import request from './request'

export const personnelApi = {
  // ========== 导入相关 ==========
  
  // 上传 Excel
  uploadExcel(file) {
    const formData = new FormData()
    formData.append('file', file)
    return request.post('/import/excel', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  // 下载模板
  downloadTemplate() {
    return '/api/import/template'
  },

  // ========== 处理相关 ==========
  
  // 批量处理
  processBatch(batchSize = 10) {
    return request.post('/process/batch', { batchSize })
  },

  // 处理所有
  processAll(batchSize = 10) {
    return request.post('/process/all', { batchSize })
  },

  // 处理单条
  processSingle(id) {
    return request.post(`/process/single/${id}`)
  },

  // 获取待处理列表（支持分页）
  getPendingList(page = 1, pageSize = 20) {
    return request.get('/process/pending', { params: { page, pageSize } })
  },

  // 删除待处理记录
  deleteRecord(id) {
    return request.delete(`/process/delete/${id}`)
  },

  // 获取处理统计信息
  getProcessStatistics() {
    return request.get('/process/statistics')
  },

  // ========== 审核相关 ==========
  
  // 获取待审核列表
  getPendingAudit(params) {
    return request.get('/audit/pending', { params })
  },

  // 获取审核统计
  getAuditStatistics() {
    return request.get('/audit/statistics')
  },

  // 获取记录详情
  getDetail(id) {
    return request.get(`/audit/detail/${id}`)
  },

  // 获取审核详情（原始+处理后）
  getAuditDetail(id) {
    return request.get(`/audit/detail/${id}`)
  },

  // 提交审核
  submitAudit(data) {
    return request.post('/audit/submit', data)
  },

  // 批量审核
  batchAudit(data) {
    return request.post('/audit/batch', data)
  },

  // 获取已审核记录
  getAuditedRecords(status = 'all', page = 1, pageSize = 20) {
    return request.get('/audit/records', { params: { status, page, pageSize } })
  },

  // AI审核
  aiAudit(id) {
    return request.post(`/audit/ai-audit/${id}`)
  },

  // ========== 人员列表相关 ==========
  
  // 更新人员信息
  updatePersonnel(id, data) {
    return request.put(`/personnel/${id}`, data)
  },

  // 修复单条记录的教育信息
  fixSingleEducation(id) {
    return request.post(`/personnel/fix-education/${id}`)
  },

  // 批量修复教育信息
  fixEducationInfo() {
    return request.post('/personnel/fix-education')
  },

  // 重新解析单条记录
  reprocessRecord(id) {
    return request.post(`/personnel/reprocess/${id}`)
  }
}

